// Koa 项目学习
let Koa = require('koa') //引入koa
let Router = require('koa-router') //引入koa-router

let app = new Koa() // 实例化
let router = new Router() // 实例化

// 配置路由
// ctx（context）上下文的意思，包含了 request 和 response 等信息
router.get('/', async (ctx) => {

  ctx.body = 'welcome to index' // 返回数据，相当于原生里的 res.writeHead() res.end()

}).get('/news', async (ctx) => {
  ctx.body = 'welcome to news'
})

// 启动路由
app.use(router.routes()) //启动路由
app.use(router.allowedMethods()) //建议配置，可以配置，也可以不配置
// app.use(router.allowedMethods()) 作用: 这是官方文档的推荐用法,我们可以 看到 router.allowedMethods()用在了路由匹配 router.routes()之后,所以在当所有 路由中间件最后调用.此时根据 ctx.status 设置 response 响应头

app.listen(3000) // 监听端口